Many modern computer systems are implemented in light weight, portable designs that enable a user to carry the computer wherever the user may travel. Such portable computers are called "laptops" or "notebooks" (hereinafter generally referred to as a laptop). Laptops typically include alternate sources of power so that the user may either plug the laptop into an electrical wall outlet or use a battery mounted within the laptop. Battery life is an important design characteristic for laptop computers since users desire a maximum amount of time to use the laptop while away from an environment affording access to an electrical outlet.
Accordingly, power conservation schemes and mechanisms have been proposed to minimize power consumption during battery operation to prolong the amount of time the battery can be used to power the laptop. One example of power conservation can be found in disk drive technology. Most laptops include a hard disk drive for storage of computer programs and data. Disk drives consume a significant amount of power for both the onboard electronics of the disk drive and the spindle and actuator motors used to spin the disk and rotate the read/write head of the drive. Modern disk drives designed for use in laptops and other portable devices include timers to track the amount of elapsed time between accesses to the drive to store or retrieve data.
When the elapsed time measured by the timer exceeds a predetermined amount, certain components of the disk drive are powered down. For example, the disk drive electronics can be powered down after a first preselected time period and the spindle motor can be powered down after a second, longer preselected time period. In this manner, power consumption by the laptop is minimized during periods of time when access to the disk drive is not required, to lengthen the battery life.
An Advanced Power Management (APM) specification has been jointly developed by the Intel Corporation and the Microsoft Corporation (Advanced Power Management (APM) BIOS Interface Specification, Revision 1.2, February 1996, http://www.intel.com/IAL/powermgm, expressly incorporated herein by reference). The purpose of the APM power management specification is to provide power management support in computers with power manageable hardware. APM defines a layered cooperative environment in which applications, operating systems, device drivers and power management BIOS work together to reduce overall power consumption by the computer.
The layered environment includes APM-aware applications comprising, for example, user applications available on the computer. The APM-aware applications are modified to communicate application operating characteristics to the lower levels of the APM when the application is being run on the computer, so that the APM can control power conservation measures to suit the particular characteristics of the application. For example, in the MS-DOS operating system, the application being run on the computer is often the best source of information on when the application is idle and awaiting further activity. Idle information can also be communicated to the APM by the operating system of the laptop. The APM can use idle information to provide the most effective power conservation in the system by controlling hardware elements to minimize power consumption during idle periods.
Moreover, the APM can communicate power conservation information to user applications to facilitate power conservation. For example, when the APM decides to place the laptop in a hibernation mode, an advance notice of the hibernation mode can be transmitted to an APM aware user application running at the time. The APM aware application is configured to store application state information upon notification, so that the application can immediately resume operation upon termination of the hibernation mode.
Modern user applications typically run on laptops include word processors, graphics programs, databases and spread sheet programs. These application programs often include background operations performed periodically to maintain the integrity of program functionality. For example, a word processor performs repagination, spell check and back-up operations. A back-up operation periodically stores a current document in a temporary disk drive location so that a current or near current version of the document is always available to the user should the system fail during use of the program. In the event of a failure, the user can re-boot the laptop and then retrieve a copy of the current or near current version of the document from the temporary disk drive location.
While background operations of user programs improve the overall performance of the program and the laptop, the operation of the background functions consume a significant amount of power. The background operations cause the laptop electronics to operate periodically in a higher power consumption mode, and, in some instances, as for example in a back-up operation, to access the disk drive. Accordingly, the effectiveness of the APM and disk drive power conservation schemes is lessened in order to accommodate background operations of user applications. The result is improved performance and integrity in respect of data processing operation of the laptop, but not as long a battery life as a user may desire.